package br.uff.es1.dao;
import br.uff.es1.Gerente;
import java.util.ArrayList;

public class GerenteDAO {
    private ArrayList<Gerente> gerentes;

    public GerenteDAO() {
        this.gerentes = new ArrayList();
       // this.inserir("Romulo", "1111", "romulo", "teste123");
    }
    
    public boolean inserir(String nome, String cpf, String login, String senha){
        Gerente g = new Gerente(nome, cpf, login, senha);
        if(g == null){
            return false;
        }else{
            this.gerentes.add(g);
            return true;
        }
    }
    
    public Gerente buscarPorCPF(String cpf){
        for (int i = 0; i < this.gerentes.size(); i++) {
            if(this.gerentes.get(i).getCpf().equalsIgnoreCase(cpf)){
                return this.gerentes.get(i);
            }
        }
        return null;
    }      
    
    public boolean remover(String nome){
        int idGerente = this.pegarIdGerente(nome);
        if(this.pegarIdGerente(nome) == -1){
            return false;
        }else{
            this.gerentes.remove(idGerente);
            return true;
        }
    }
    
    public int pegarIdGerente(String nome){
        for (int i = 0; i < gerentes.size(); i++) {
            if(this.gerentes.get(i).getNome().equalsIgnoreCase(nome)){
                return i;
            }
        }
        return -1;
    }
    
    public Gerente obterGerentePeloLogin(String login){
        for (int i = 0; i < this.gerentes.size(); i++) {
            if(this.gerentes.get(i).getLogin().equalsIgnoreCase(login)){
                return this.gerentes.get(i);
            }
        }
        return null;
    }    
    
    public Gerente buscar(String nome){
        for (int i = 0; i < gerentes.size(); i++) {
            if(this.gerentes.get(i).getNome().matches(nome)){
                return this.gerentes.get(i);
            }
        }
        return null;
    }
        
}
